$PBExportHeader$uo_dw_equivalencia.sru
$PBExportComments$Usado para grabar equivalencia, entre otras cosas es capaz de grabar campos serial 1-N.
forward
global type uo_dw_equivalencia from uo_dw
end type
end forward

global type uo_dw_equivalencia from uo_dw
end type
global uo_dw_equivalencia uo_dw_equivalencia

event sqlpreview;call super::sqlpreview;Long nro_autoincrement
Long serial_temporal 

/* Si es un dw_1.UPDATE() y la Operacion es un INSERT */
If request=previewfunctionupdate! and sqltype=previewinsert! Then
	/* ejecuto el INSERT . Grabo la Equivalencia.*/
	Execute immediate :sqlsyntax using sqlca;
	If sqlca.sqlcode = 0 Then
		/* Recupero el valor del campo SERIAL y lo cargo en el array */
		
		nro_autoincrement = f_recupera_ult_nro_serial()
		If nro_autoincrement <= 0 Then 
			MessageBox('Error','No puede recuperar el valor autonumerico ')
			Return 1
		Else
			serial_temporal = This.GetItemNumber(row,'equivalencia',buffer,false)
			Parent.Dynamic Trigger Event ue_completar_serial (nro_autoincrement,serial_temporal)
			/* Lo inserto todo OK */

			/* Lo pongo en la dw */
			If buffer = Primary! Then This.Object.equivalencia.Primary[row] = nro_autoincrement
			If buffer = Filter! Then This.Object.equivalencia.Filter[row] = nro_autoincrement

			Return 2			
		End if
	Else
//		/* Error */
//		MessageBox('Error',sqlca.sqlerrtext)
//		Return 1
	End If
End If


/* OK */
Return 0

end event

on uo_dw_equivalencia.create
end on

on uo_dw_equivalencia.destroy
end on

